﻿#define _CRT_SECURE_NO_WARNINGS
//一维数组的创建和初始化

//一维数组的创建
int main()
{
	int math[20];//数组有20个元素，每一个元素的类型都是int
	//但是数组的类型 - 是int[20],数组的元素和个数发生变化时，数组的类型就会发生变化
	char num[5];//5个元素，类型都是char
	double arr[6];//与上类似
}

//初始化
int main()
{
	double num3[] = { 1.1,2.2 };//这也是一种数组的初始化，编译器就通过后面的元素个数自动理解为该数组里面有2个元素
	int math[5] = { 1,2,3,4,5 };//可以把元素写满，叫做完全初始化
	char num[5] = {'a','b','c'};//元素没写满，叫做不完全初始化，此时没有被初始化的值，默认它的初始值为0
	//上面是char类型的一种初始化方式，也可以写成下面那种
	char num2[5] = "abc";//这样写也是可以的
}


//一维数组的使用

//数组下标：下标默认从0开始，假设数组有n个元素，最后⼀个元素的下标是n-1，我们可以通过这些下标找到对应的元素

int main()
{
	int math[5] = { 1,2,3,4,5 };//这里的5是数组的元素个数

	math[3];//这就表示在math这个数组中，下标为“3”对应的元素--也就是4
	//这里的[]叫做“下标引用操作符”
	//这里的3叫做元素下标

	printf("%d ", math[3]);//可以用这种方法将目标元素快速打印出来
	return 0;
}

//打印数组的所以元素
int main()
{
	int i = 0;
	int arr3[5] = { 1,2,3,4,5 };
	for (i = 0; i < 5; i++)
	{
		printf("%d\n", arr3[i]);
	}//for循环打印

	while (i < 5)
	{
		printf("%d ", arr3[i]);
		i++;
	}//当然，while循环也是可以的

	int a = 0;
	do
	{
		printf("%d\n", arr3[a]);
		a++;
	} while (a < 5);//同理，do-while循环也没有问题
	return 0;
}

//数组的输入

//比如：给数组输入几个值，然后再打印这个数组里面的值

int main()
{
	int age[10];
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		scanf("%d ",&age[i]);//输入  //注意，这个地方需要取地址，因为你输入的是元素，元素不是数组，元素需要地址
	}
	for (i = 0; i < 10; i++)
	{
		printf("%d\n", age[i]);//输出
	}
	return 0;
}

